package cn.zhfeat.hatch.rpcimpl;

import cn.zhfeat.hatch.dto.company.CompanyInfoDto;
import cn.zhfeat.hatch.entity.company.CompanyInfo;
import cn.zhfeat.hatch.rpc.ICompanyInfoRpcService;
import cn.zhfeat.hatch.service.ICompanyInfoService;
import com.github.pagehelper.PageInfo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import javax.annotation.Resource;
import java.util.Date;
import java.util.List;

/**
 * @description: 企业相关rpc服务实现
 *
 * @author ZhangHao
 * @date 2018年5月6日 下午10:39:37 
 * @version 1.0.0.1
 */
@Service("companyInfoRpcService")
public class CompanyInfoRpcServiceImpl implements ICompanyInfoRpcService {
	
	@Resource
	private ICompanyInfoService companyInfoService;


	/**
	 * @description: 根据条件定位一条企业信息
	 * 原方法: SysCompany selectCompanyByCondition(SysCompany company);
	 * @param dto
	 * @return 
	 * @author ZhangHao
	 * @date 2018年5月6日 下午9:37:48 
	 * @version 1.0.0.1
	 */
	@Override
	public CompanyInfo findEntityByType(CompanyInfoDto dto) {
		return companyInfoService.findByType(dto);
	}

	/**
	 * @description: 根据条件定位多条企业信息
	 *
	 * @param
	 * @author ZhangHao
	 * @date 2018/8/3 11:05
	 * @version 1.0.0.1
	 * @return java.util.List<cn.zhfeat.hatch.entity.company.CompanyInfo>
	 */

    @Override
    public List<CompanyInfo> selectEntityByType(CompanyInfoDto dto) {
        return companyInfoService.findListByDto(dto);
    }

    /**
	 * @description: 插入企业数据并返回自增ID
	 * 原方法: SysCompany createCompany(SysCompany company);
	 * @param entity
	 * @return 
	 * @author ZhangHao
	 * @date 2018年5月6日 下午9:41:18 
	 * @version 1.0.0.1
	 */
	@Override
	public CompanyInfo insertSelective(CompanyInfo entity) {
		int result = companyInfoService.insertSelective(entity);
		if(result > 0) {
			return entity;
		}
		return null;
	}

	/**
	 * @description: 根据主键ID更新企业数据，如果id为null或updateTime则返回0，标识更新失败
	 *		逻辑删除也调用此方法。
	 * 原方法：Boolean updateCompany(SysCompany company);
	 * @param entity
	 * @return 
	 * @author ZhangHao
	 * @date 2018年5月6日 下午9:43:09 
	 * @version 1.0.0.1
	 */
	@Override
	public Integer updateSelective(CompanyInfo entity) {
		if(entity.getId() == null){
			return 0;
		}
		entity.setUpdateTime(new Date());   
		return companyInfoService.updateSelective(entity);
	}

	/**
	 *
	 * @Description: 查询公司基本信息的cid集合
	 * @author：Mashaohua
	 * @date：2018年5月22日 下午4:05:57
	 */
	@Override
	public List<Long> getCidList() {
		return companyInfoService.getCidList();
	}

}
